package com.example.victory.swagger.model;

import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.validation.annotation.Validated;

/**
 * 信用交易信息
 */
@ApiModel(description = "信用交易信息")
@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2021-04-26T10:50:39.083+08:00")

public class CreditExchange   {
  @JsonProperty("customerId")
  private String customerId = null;

  @JsonProperty("assetTotal")
  private Double assetTotal = null;

  @JsonProperty("assetNet")
  private Double assetNet = null;

  @JsonProperty("marketValueTotal")
  private Double marketValueTotal = null;

  @JsonProperty("debtTotal")
  private Double debtTotal = null;

  @JsonProperty("depositAvailable")
  private Double depositAvailable = null;

  @JsonProperty("capitalMoney")
  private Double capitalMoney = null;

  @JsonProperty("financingAvailable")
  private Double financingAvailable = null;

  @JsonProperty("stockLoanAvailable")
  private Double stockLoanAvailable = null;

  @JsonProperty("financingDebt")
  private Double financingDebt = null;

  @JsonProperty("stockLoanDebt")
  private Double stockLoanDebt = null;

  @JsonProperty("profitLoss")
  private Double profitLoss = null;

  @JsonProperty("collateralRatio")
  private Double collateralRatio = null;

  @JsonProperty("interestDebt")
  private Double interestDebt = null;

  public CreditExchange customerId(String customerId) {
    this.customerId = customerId;
    return this;
  }

  /**
   * 客户号
   * @return customerId
  **/
  @ApiModelProperty(example = "880001472442", value = "客户号")


  public String getCustomerId() {
    return customerId;
  }

  public void setCustomerId(String customerId) {
    this.customerId = customerId;
  }

  public CreditExchange assetTotal(Double assetTotal) {
    this.assetTotal = assetTotal;
    return this;
  }

  /**
   * 总资产，单位元
   * @return assetTotal
  **/
  @ApiModelProperty(example = "10000.01", value = "总资产，单位元")


  public Double getAssetTotal() {
    return assetTotal;
  }

  public void setAssetTotal(Double assetTotal) {
    this.assetTotal = assetTotal;
  }

  public CreditExchange assetNet(Double assetNet) {
    this.assetNet = assetNet;
    return this;
  }

  /**
   * 净资产，单位元
   * @return assetNet
  **/
  @ApiModelProperty(example = "1.05", value = "净资产，单位元")


  public Double getAssetNet() {
    return assetNet;
  }

  public void setAssetNet(Double assetNet) {
    this.assetNet = assetNet;
  }

  public CreditExchange marketValueTotal(Double marketValueTotal) {
    this.marketValueTotal = marketValueTotal;
    return this;
  }

  /**
   * 总市值，单位元
   * @return marketValueTotal
  **/
  @ApiModelProperty(example = "10000.01", value = "总市值，单位元")


  public Double getMarketValueTotal() {
    return marketValueTotal;
  }

  public void setMarketValueTotal(Double marketValueTotal) {
    this.marketValueTotal = marketValueTotal;
  }

  public CreditExchange debtTotal(Double debtTotal) {
    this.debtTotal = debtTotal;
    return this;
  }

  /**
   * 负债总额，单位元
   * @return debtTotal
  **/
  @ApiModelProperty(example = "0.05", value = "负债总额，单位元")


  public Double getDebtTotal() {
    return debtTotal;
  }

  public void setDebtTotal(Double debtTotal) {
    this.debtTotal = debtTotal;
  }

  public CreditExchange depositAvailable(Double depositAvailable) {
    this.depositAvailable = depositAvailable;
    return this;
  }

  /**
   * 可用保证金，单位元
   * @return depositAvailable
  **/
  @ApiModelProperty(example = "1.05", value = "可用保证金，单位元")


  public Double getDepositAvailable() {
    return depositAvailable;
  }

  public void setDepositAvailable(Double depositAvailable) {
    this.depositAvailable = depositAvailable;
  }

  public CreditExchange capitalMoney(Double capitalMoney) {
    this.capitalMoney = capitalMoney;
    return this;
  }

  /**
   * 资金余额，单位元
   * @return capitalMoney
  **/
  @ApiModelProperty(example = "1.05", value = "资金余额，单位元")


  public Double getCapitalMoney() {
    return capitalMoney;
  }

  public void setCapitalMoney(Double capitalMoney) {
    this.capitalMoney = capitalMoney;
  }

  public CreditExchange financingAvailable(Double financingAvailable) {
    this.financingAvailable = financingAvailable;
    return this;
  }

  /**
   * 融资可用，单位元
   * @return financingAvailable
  **/
  @ApiModelProperty(example = "1.05", value = "融资可用，单位元")


  public Double getFinancingAvailable() {
    return financingAvailable;
  }

  public void setFinancingAvailable(Double financingAvailable) {
    this.financingAvailable = financingAvailable;
  }

  public CreditExchange stockLoanAvailable(Double stockLoanAvailable) {
    this.stockLoanAvailable = stockLoanAvailable;
    return this;
  }

  /**
   * 融券可用，单位元
   * @return stockLoanAvailable
  **/
  @ApiModelProperty(example = "1.05", value = "融券可用，单位元")


  public Double getStockLoanAvailable() {
    return stockLoanAvailable;
  }

  public void setStockLoanAvailable(Double stockLoanAvailable) {
    this.stockLoanAvailable = stockLoanAvailable;
  }

  public CreditExchange financingDebt(Double financingDebt) {
    this.financingDebt = financingDebt;
    return this;
  }

  /**
   * 融资负债，单位元
   * @return financingDebt
  **/
  @ApiModelProperty(example = "1.05", value = "融资负债，单位元")


  public Double getFinancingDebt() {
    return financingDebt;
  }

  public void setFinancingDebt(Double financingDebt) {
    this.financingDebt = financingDebt;
  }

  public CreditExchange stockLoanDebt(Double stockLoanDebt) {
    this.stockLoanDebt = stockLoanDebt;
    return this;
  }

  /**
   * 融券负债，单位元
   * @return stockLoanDebt
  **/
  @ApiModelProperty(example = "1.05", value = "融券负债，单位元")


  public Double getStockLoanDebt() {
    return stockLoanDebt;
  }

  public void setStockLoanDebt(Double stockLoanDebt) {
    this.stockLoanDebt = stockLoanDebt;
  }

  public CreditExchange profitLoss(Double profitLoss) {
    this.profitLoss = profitLoss;
    return this;
  }

  /**
   * 浮动盈亏
   * @return profitLoss
  **/
  @ApiModelProperty(example = "0.05", value = "浮动盈亏")


  public Double getProfitLoss() {
    return profitLoss;
  }

  public void setProfitLoss(Double profitLoss) {
    this.profitLoss = profitLoss;
  }

  public CreditExchange collateralRatio(Double collateralRatio) {
    this.collateralRatio = collateralRatio;
    return this;
  }

  /**
   * 担保比例，单位
   * @return collateralRatio
  **/
  @ApiModelProperty(example = "0.05", value = "担保比例，单位")


  public Double getCollateralRatio() {
    return collateralRatio;
  }

  public void setCollateralRatio(Double collateralRatio) {
    this.collateralRatio = collateralRatio;
  }

  public CreditExchange interestDebt(Double interestDebt) {
    this.interestDebt = interestDebt;
    return this;
  }

  /**
   * 利息负债，单位
   * @return interestDebt
  **/
  @ApiModelProperty(example = "0.05", value = "利息负债，单位")


  public Double getInterestDebt() {
    return interestDebt;
  }

  public void setInterestDebt(Double interestDebt) {
    this.interestDebt = interestDebt;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    CreditExchange creditExchange = (CreditExchange) o;
    return Objects.equals(this.customerId, creditExchange.customerId) &&
        Objects.equals(this.assetTotal, creditExchange.assetTotal) &&
        Objects.equals(this.assetNet, creditExchange.assetNet) &&
        Objects.equals(this.marketValueTotal, creditExchange.marketValueTotal) &&
        Objects.equals(this.debtTotal, creditExchange.debtTotal) &&
        Objects.equals(this.depositAvailable, creditExchange.depositAvailable) &&
        Objects.equals(this.capitalMoney, creditExchange.capitalMoney) &&
        Objects.equals(this.financingAvailable, creditExchange.financingAvailable) &&
        Objects.equals(this.stockLoanAvailable, creditExchange.stockLoanAvailable) &&
        Objects.equals(this.financingDebt, creditExchange.financingDebt) &&
        Objects.equals(this.stockLoanDebt, creditExchange.stockLoanDebt) &&
        Objects.equals(this.profitLoss, creditExchange.profitLoss) &&
        Objects.equals(this.collateralRatio, creditExchange.collateralRatio) &&
        Objects.equals(this.interestDebt, creditExchange.interestDebt);
  }

  @Override
  public int hashCode() {
    return Objects.hash(customerId, assetTotal, assetNet, marketValueTotal, debtTotal, depositAvailable, capitalMoney, financingAvailable, stockLoanAvailable, financingDebt, stockLoanDebt, profitLoss, collateralRatio, interestDebt);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class CreditExchange {\n");
    
    sb.append("    customerId: ").append(toIndentedString(customerId)).append("\n");
    sb.append("    assetTotal: ").append(toIndentedString(assetTotal)).append("\n");
    sb.append("    assetNet: ").append(toIndentedString(assetNet)).append("\n");
    sb.append("    marketValueTotal: ").append(toIndentedString(marketValueTotal)).append("\n");
    sb.append("    debtTotal: ").append(toIndentedString(debtTotal)).append("\n");
    sb.append("    depositAvailable: ").append(toIndentedString(depositAvailable)).append("\n");
    sb.append("    capitalMoney: ").append(toIndentedString(capitalMoney)).append("\n");
    sb.append("    financingAvailable: ").append(toIndentedString(financingAvailable)).append("\n");
    sb.append("    stockLoanAvailable: ").append(toIndentedString(stockLoanAvailable)).append("\n");
    sb.append("    financingDebt: ").append(toIndentedString(financingDebt)).append("\n");
    sb.append("    stockLoanDebt: ").append(toIndentedString(stockLoanDebt)).append("\n");
    sb.append("    profitLoss: ").append(toIndentedString(profitLoss)).append("\n");
    sb.append("    collateralRatio: ").append(toIndentedString(collateralRatio)).append("\n");
    sb.append("    interestDebt: ").append(toIndentedString(interestDebt)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

